<template>
	<view>
		<view class="after-sales-detail">
			<view class="after-sales-header">
				<view class="after-sales-status white lg">
					{{afterSale.status_text}}
				</view>
			</view>
			<view v-if="afterSale.refund_type==1" class="return-address-contain flex bg-white m-t-20" style="padding-bottom: 0;">
				<view class="address-title">退货方式：</view>
				<view class="sm address flex-1">
					{{afterSale.refund_delivery_type_text}}
				</view>
			</view>
			<view v-if="afterSale.refund_type==1" class="return-address-contain flex bg-white">
				<view class="address-title">退货地址：</view>
				<view class="sm address flex-1" v-if="afterSale.refund_delivery_type==3">
					{{afterSale.shop.shop_address}}, {{afterSale.shop.shop_contact}}, {{afterSale.shop.shop_mobile}}
				</view>
				<view class="sm address flex-1" v-else>{{afterSale.shop.address}}, {{afterSale.shop.contact}},
					{{afterSale.shop.mobile}}
				</view>
				<view class="xs copy-btn flex-none row-center" @tap="onCopy">复制</view>
			</view>
			<view class="goods-container bg-white m-t-20">
				<view class="m-l-20">
					<shop-title :shop="{name: afterSale.shop_name, id: afterSale.sid}"></shop-title>
				</view>
				<view class="goods-item flex">
					<view class="goods-img">
						<u-image width="180rpx" height="180rpx" border-radius="10rpx"
							:src="afterSale.order_goods.image"></u-image>
					</view>
					<view class="goods-info flex-1 m-l-24">
						<view class="line-2">{{afterSale.order_goods.goods_name}}</view>
						<view class="m-t-10 xs line-1 muted">{{afterSale.order_goods.spec_value}}</view>
						<view class="flex row-between m-t-20">
							<price-format :price="afterSale.order_goods.goods_price" :first-size="30" :second-size="30"
								:subscript-size="30" />
							<view>x{{afterSale.order_goods.goods_num}}</view>
						</view>
					</view>
				</view>
			</view>
			<view v-if="afterSale.refund_delivery_type == 3&&afterSale.refund_code!=''" class="contain receive">
				<view class="receive-qr">
					<view class="m-t-30 xs black qr-code">退货码：{{ afterSale.refund_code }}</view>
				</view>
			</view>
			<view class="return-goods-container bg-white m-t-20">
				<view class="return-goods-item flex sm">
					<view class="return-title">退款方式：</view>
					<view class="return-explain">{{afterSale.refund_type_text}}</view>
				</view>
				<view class="return-goods-item flex sm m-t-20">
					<view class="return-title">退款原因：</view>
					<view class="return-explain">{{afterSale.refund_reason}}</view>
				</view>
				<view class="return-goods-item flex sm m-t-20">
					<view class="return-title">退款金额：</view>
					<view class="return-explain primary">¥{{afterSale.refund_price}}</view>
				</view>
				<view class="return-goods-item flex sm m-t-20">
					<view class="return-title">退款编号：</view>
					<view class="return-explain">{{afterSale.sn}}</view>
				</view>
				<view class="return-goods-item flex sm m-t-20">
					<view class="return-title">申请时间：</view>
					<view class="return-explain">{{afterSale.create_time}}</view>
				</view>
				<view class="return-goods-item flex sm m-t-20">
					<view class="return-title">售后状态：</view>
					<view class="return-explain">{{afterSale.status_text}}</view>
				</view>
				<view class="return-goods-item flex sm m-t-20" v-if="afterSale.status==1||afterSale.status==4">
					<view class="return-title">{{afterSale.status==1?'拒绝原因':'拒收原因'}}：</view>
					<view class="return-explain">{{afterSale.admin_remark}}</view>
				</view>
			</view>
			<view class="btn-group fixed bg-white flex row-right" v-if="afterSale.status != 6">
				<view class="m-r-20 btn br16" @tap="confirmDialog=true">撤销申请</view>
				<router-link :to="{path: '/bundle/pages/apply_refund/apply_refund', query: {after_sale_id: afterSale.id, 
								order_id: afterSale.order_goods.order_id,
								item_id: afterSale.order_goods.item_id}}">
					<view class="m-r-20 btn br16 primary" v-if="(afterSale.status == 4 || afterSale.status == 1)">重新申请
					</view>
				</router-link>
				<router-link
					:to="{path: '/bundle/pages/input_express_info/input_express_info', query: {id: afterSale.id}}">
					<view class="m-r-20 btn br16" v-if="afterSale.status == 2&&afterSale.refund_delivery_type == 1">
						填写快递单号
					</view>
				</router-link>
				<navigator v-if="afterSale.status == 3" :url="
				  '/bundle/pages/goods_logistics/goods_logistics?id=' +
				  afterSale.id+'&type=afterSale'
				">
					<view class="m-r-20 btn br16">
						查看物流
					</view>
				</navigator>
			</view>
		</view>
		<u-modal v-model="confirmDialog" confirm-text="确定" :showCancelButton="true" :confirm-color="colorConfig.primary"
			@confirm="cancelApplyFun">
			<view class="flex-col col-center tips-dialog" style="padding: 30rpx 0;">
				<image class="icon-lg" src="/static/images/icon_warning.png"></image>
				<view class="m-t-30">是否要撤销申请？</view>
			</view>
		</u-modal>
	</view>
</template>

<script>
	import {
		afterSaleDetail,
		cancelApply
	} from "@/api/user";
	import {
		trottle,
		copy
	} from "@/utils/tools.js";

	export default {
		data() {
			return {
				afterSale: {
					shop: {},
					order_goods: {}
				},
				confirmDialog: false
			};
		},
		onLoad(options) {

		},

		onShow() {
			this.id = this.$Route.query.id
			this.afterSaleDetailFun();
		},

		methods: {
			onCopy() {
				const {
					afterSale
				} = this;
				const {
					address,
					contact,
					mobile
				} = afterSale.shop;
				copy(`${address},${contact},${mobile}`)
			},


			cancelApplyFun() {
				cancelApply({
					id: this.id
				}).then(res => {
					if (res.code == 1) {

						uni.$emit("refreshsale")
						this.$toast({
							title: res.msg
						}, {
							tab: 3,
							url: 1
						});
					}
				});
			},

			afterSaleDetailFun() {
				afterSaleDetail({
					id: this.id
				}).then(res => {
					if (res.code == 1) {
						this.afterSale = res.data
					}
				});
			}

		}
	};
</script>
<style lang="scss">
	.after-sales-detail {
		padding-bottom: calc(120rpx + env(safe-area-inset-bottom));

		.after-sales-header {
			.after-sales-status {
				padding: 48rpx 30rpx;
				background-color: #555555;
			}

			.after-sales-explain {
				padding: 20rpx 30rpx 24rpx;
			}
		}

		.return-goods-container {
			padding: 20rpx 24rpx 55rpx;

			.return-goods-item {
				line-height: 40rpx;
			}
		}

		.contain {
			margin-top: 20rpx;
			border-radius: 14rpx;
			background-color: #fff;

			.receive-qr {
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				min-height: 460rpx;
			}
		}

		.btn-group {
			padding: 0rpx 24rpx;
			position: fixed;
			left: 0;
			right: 0;
			bottom: 0;
			height: 100rpx;
			padding-bottom: env(safe-area-inset-bottom);
			box-sizing: content-box;

			.btn {
				padding: 10rpx 34rpx;
				border: 1px solid #999999;

				&.primary {
					border-color: $-color-primary;
				}
			}
		}

		.goods-container {
			.goods-item {
				padding: 25rpx 24rpx;

				.goods-info {
					min-width: 500rpx;
				}
			}
		}
	}

	.return-address-contain {
		padding: 20rpx 24rpx 28rpx 30rpx;

		.address {
			flex: 1;
			line-height: 38rpx;
		}

		.address-title {
			width: 150rpx;
			align-self: flex-start;
			line-height: 40rpx;
		}

		.copy-btn {
			background-color: #F4F4F4;
			color: #555555;
			padding: 3rpx 16rpx;
			margin-left: 12rpx;
			border-radius: 4rpx;
		}
	}

	.tips-dialog {
		height: 230rpx;
		width: 100%;
	}
</style>